From 7e5ac3a58d0362080c4eb7c9b68ead99674c7b87 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 22 Jan 2015 15:47:36 +0100 Subject: [PATCH] roundedbox: Treat path segments differently If a side of the box is 0px wide, make the corners owned by the adjacent sides. This avoids spilling over of unwanted colors from the 0-width side into the corner. New test for this case is included. --- testsuite/reftests/Makefile.am | 3 + .../border-corner-zero-width-rendering.css | 33 +++ .../border-corner-zero-width-rendering.ref.ui | 207 ++++++++++++++ .../border-corner-zero-width-rendering.ui | 269 ++++++++++++++++++ 4 files changed, 512 insertions(+) create mode 100644 testsuite/reftests/border-corner-zero-width-rendering.css create mode 100644 testsuite/reftests/border-corner-zero-width-rendering.ref.ui create mode 100644 testsuite/reftests/border-corner-zero-width-rendering.ui diff --git a/testsuite/reftests/Makefile.am b/testsuite/reftests/Makefile.am index 1577dade4b..10aced432d 100644 --- a/testsuite/reftests/Makefile.am +++ b/testsuite/reftests/Makefile.am @@ -126,6 +126,9 @@ testdata = \ border-color-default.css \ border-color-default.ref.ui \ border-color-default.ui \ + border-corner-zero-width-rendering.css \ + border-corner-zero-width-rendering.ref.ui \ + border-corner-zero-width-rendering.ui \ border-half-pixel.css \ border-half-pixel.ref.ui \ border-half-pixel.ui \ diff --git a/testsuite/reftests/border-corner-zero-width-rendering.css b/testsuite/reftests/border-corner-zero-width-rendering.css new file mode 100644 index 0000000000..e2cdaecc88 --- /dev/null +++ b/testsuite/reftests/border-corner-zero-width-rendering.css @@ -0,0 +1,33 @@ +* { + all: unset; +} + +.background { + background-color: khaki; + color: purple; +} + +.button { + border-radius: 10px; + padding: 5px; +} + +.top { + border-top: 5px solid khaki; + padding-top: 0px; +} + +.right { + border-right: 5px solid khaki; + padding-right: 0px; +} + +.bottom { + border-bottom: 5px solid khaki; + padding-bottom: 0px; +} + +.left { + border-left: 5px solid khaki; + padding-left: 0px; +} diff --git a/testsuite/reftests/border-corner-zero-width-rendering.ref.ui b/testsuite/reftests/border-corner-zero-width-rendering.ref.ui new file mode 100644 index 0000000000..16ccad538e --- /dev/null +++ b/testsuite/reftests/border-corner-zero-width-rendering.ref.ui @@ -0,0 +1,207 @@ + + + + + + False + popup + + + True + False + + + button + True + True + True + + + 0 + 0 + + + + + button + True + True + True + + + 0 + 1 + + + + + button + True + True + True + + + 0 + 3 + + + + + button + True + True + True + + + 0 + 2 + + + + + button + True + True + True + + + 3 + 0 + + + + + button + True + True + True + + + 2 + 0 + + + + + button + True + True + True + + + 1 + 0 + + + + + button + True + True + True + + + 3 + 3 + + + + + button + True + True + True + + + 3 + 2 + + + + + button + True + True + True + + + 3 + 1 + + + + + button + True + True + True + + + 2 + 3 + + + + + button + True + True + True + + + 1 + 3 + + + + + button + True + True + True + + + 2 + 2 + + + + + button + True + True + True + + + 2 + 1 + + + + + button + True + True + True + + + 1 + 2 + + + + + button + True + True + True + + + 1 + 1 + + + + + + diff --git a/testsuite/reftests/border-corner-zero-width-rendering.ui b/testsuite/reftests/border-corner-zero-width-rendering.ui new file mode 100644 index 0000000000..e413029cfe --- /dev/null +++ b/testsuite/reftests/border-corner-zero-width-rendering.ui @@ -0,0 +1,269 @@ + + + + + + False + popup + + + True + False + + + button + True + True + True + + + 0 + 0 + + + + + button + True + True + True + + + + 0 + 1 + + + + + button + True + True + True + + + + 0 + 3 + + + + + button + True + True + True + + + + 0 + 2 + + + + + button + True + True + True + + + + 3 + 0 + + + + + button + True + True + True + + + + 2 + 0 + + + + + button + True + True + True + + + + 1 + 0 + + + + + button + True + True + True + + + + 3 + 3 + + + + + button + True + True + True + + + + 3 + 2 + + + + + button + True + True + True + + + + 3 + 1 + + + + + button + True + True + True + + + + 2 + 3 + + + + + button + True + True + True + + + + 1 + 3 + + + + + button + True + True + True + + + + 2 + 2 + + + + + button + True + True + True + + + + 2 + 1 + + + + + button + True + True + True + + + + 1 + 2 + + + + + button + True + True + True + + + + 1 + 1 + + + + + + -- 2.30.2